[INFO] fetching crate rustpak 0.1.0...
[INFO] checking rustpak-0.1.0 against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] extracting crate rustpak 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate rustpak 0.1.0 on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rustpak 0.1.0
[INFO] finished tweaking crates.io crate rustpak 0.1.0
[INFO] tweaked toml for crates.io crate rustpak 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate rustpak 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 297698dd8cdadfb4c9e420c54008dca63d745c08741f0930a5d3b7d7e28b2231
[INFO] running `Command { std: "docker" "start" "-a" "297698dd8cdadfb4c9e420c54008dca63d745c08741f0930a5d3b7d7e28b2231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "297698dd8cdadfb4c9e420c54008dca63d745c08741f0930a5d3b7d7e28b2231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "297698dd8cdadfb4c9e420c54008dca63d745c08741f0930a5d3b7d7e28b2231", kill_on_drop: false }`
[INFO] [stdout] 297698dd8cdadfb4c9e420c54008dca63d745c08741f0930a5d3b7d7e28b2231
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c12a0e8cf92ad5ce241db6f512416d8de782f6fffe2010953029cac58763db2
[INFO] running `Command { std: "docker" "start" "-a" "0c12a0e8cf92ad5ce241db6f512416d8de782f6fffe2010953029cac58763db2", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr]    Compiling libc v0.2.91
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking rustpak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `rustpak`
[INFO] [stdout]  --> tests/pak_test.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use rustpak::{Pak, PakFileEntry, PakFileError};
[INFO] [stdout]   |         ^^^^^^^ use of undeclared crate or module `rustpak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustpak` (test "pak_test") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Vec<u8>` instead of borrowing the inner type
[INFO] [stdout]   --> src/lib.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let data: &Vec<u8> = self.data.borrow();
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Vec<u8>` instead of borrowing the inner type
[INFO] [stdout]   --> src/lib.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let data: &Vec<u8> = self.data.borrow();
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Vec<u8>` instead of borrowing the inner type
[INFO] [stdout]   --> src/lib.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let data: &Vec<u8> = self.data.borrow();
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Vec<u8>` instead of borrowing the inner type
[INFO] [stdout]   --> src/lib.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let data: &Vec<u8> = self.data.borrow();
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub extern "C" fn new() -> Pak<'a> {
[INFO] [stdout]     |                                ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:39
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                       ^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub extern "C" fn from_file(path: &'a str) -> Result<Pak, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `String`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:50
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<&mut Pak<'_>, Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:164:67
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub extern "C" fn  add_file(&mut self, file: PakFileEntry) -> Result<&mut Pak<'a>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:57
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                         ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:66
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub extern "C" fn  remove_file(&mut self, filename: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:46
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              ^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using `*const u8` and a length instead
[INFO] [stdout]     = note: string slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `Result<(), Box<dyn std::error::Error>>`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:191:56
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub extern "C" fn  save(&self, filename: &str) ->  Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
[INFO] [stdout]     = note: enum has no representation hint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0c12a0e8cf92ad5ce241db6f512416d8de782f6fffe2010953029cac58763db2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c12a0e8cf92ad5ce241db6f512416d8de782f6fffe2010953029cac58763db2", kill_on_drop: false }`
[INFO] [stdout] 0c12a0e8cf92ad5ce241db6f512416d8de782f6fffe2010953029cac58763db2
